package top.syfy.jwt.jwtdemo.jwt;

import lombok.Data;
import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * JWT负载的封装类, 描述JWT负载部分的相关信息
 *
 * @author syfy
 * @date 2021/03/05
 */
@Data
public class Payload implements Serializable {

	private static final long serialVersionUID = 3727341780870349571L;

	/**
	 * 发布者
	 */
	private String issuer;

	/**
	 * 主题
	 */
	private String subject;

	/**
	 * 受众
	 */
	private List<String> audiences;

	/**
	 * 发布时间, 毫秒时
	 */
	private Long issuedAt;

	/**
	 * 过期时间, 毫秒时
	 */
	private Long expiresAt;

	/**
	 * 开始使用时间, 毫秒时
	 */
	private Long notBefore;

	/**
	 * 刷新时长间隔, 毫秒
	 */
	private Long refreshAt;

	/**
	 * 自定义数据
	 */
	private Map<String, Object> claims;

}
